Agricultural system control and feedback loop

ABSTRACT

Agricultural systems have increased in complexity to allow farmers to control the environmental factors impacting a crop. By analyzing data from a plurality, and preferably a large number, of operations, a particular objective for a particular plan may be developed for a particular crop. The equipment at a particular site may then monitor the crop and be controlled by a device, such as an on-site hub, to operate equipment in a manner associated with the particular plan and objective.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims the benefit of Provisional Patent Application No. 62/360,376, filed on Jul. 9, 2016, and is incorporated herein by reference in its entirety.

FIELD OF THE DISCLOSURE

The present disclosure is generally directed toward a feedback loop and more specifically a feedback and control loop for agricultural systems.

BACKGROUND

Historically, the scientific method has been applied in order to define a hypothesis and then employ investigation, data collection and analysis of data to prove the hypothesis. In the advent of increasingly available data processing capabilities, the underlying principle that offers a unique approach to a targeted application is that, rather than defining the anticipated hypothesis, all available data is collected and the analysis seeks to uncover all relevant correlations. This allows the data to tell the story without the encumbrance of pre-conceived notions.

SUMMARY

With a bounty of publicly available statistical algorithms to identify implicit correlations between multi-dimensional data sets, the proposed system and method utilizes these publicly available statistical algorithms and applies them in a way that allows for the establishment of an optimal grow plan based on discovered correlations. More specifically, a grow plan will be presented to the farmer, and more importantly to the farmer's monitoring and control system, the ideal parameters for each of the key environmental variables based on the identified correlations with desired outcomes.

It is with respect to the above issues and other problems that the embodiments presented herein were contemplated. In particular, embodiments of the present disclosure are directed toward the concepts of a controlled environment agriculture and systems for controlling the same.

Embodiments of the present disclosure employ a combination of data collection, device control and underlying data analytics to help farmers cultivate crops in an optimized approach, targeting both quality, yield and growth cycle duration.

The process employs the use of a flexible data collection scheme and an information technology architecture that allows for facility-based data storage and cloud-based data analysis. The cloud-based analysis, which identifies correlations between environmental variables and crop-specific and variety-specific quality and yield impacts, helps deliver a value added service to farmers as a time-specified scheme for managing environmental variables with the goal of achieving a specific objective function: maximum yield, maximum quality, minimum growth cycle duration, or a combination. As a further benefit, greater operating margins may be realized via better operational efficiencies and/or better crop results.

In one embodiment, a server is disclosed, comprising: a processor, comprising logic circuitry and a memory; a communication interface; and wherein the processor: receives a first signal from a plant monitoring component monitoring at least one dynamic attribute of a plant; accesses a growth plan associated with an objective and crop; determines the first signal indicates an out-of-tolerance state from the growth plan; selects a first control component configured to impact the at least one dynamic attribute monitored by the plant monitoring component; selects a first modification signal in accordance with a first rule, wherein the first rule is selected in accordance with the objective and crop; and signals the first control component with the first modification signal to cause the first control component, upon receiving the first modification signal, to alter operation in accordance with the first modification signal and to cause the dynamic attribute to be in compliance with the growth plan.

In another embodiment, a method is disclosed comprising: receiving a first signal from a plant monitoring component monitoring at least one dynamic attribute of a plant; accessing a growth plan associated with an objective and crop; determining the first signal indicates an out-of-tolerance state from the growth plan; selecting a first control component configured to impact the at least one dynamic attribute monitored by the plant monitoring component; selecting a first modification signal in accordance with a first rule, wherein the first rule is selected in accordance with the objective and crop; and signaling the first control component with the first modification signal to cause the first control component, upon receiving the first modification signal, to alter operation in accordance with the first modification signal and to cause the dynamic attribute to be in compliance with the growth plan.

In another embodiment, a system is disclosed comprising: a first server; the first server comprising: a first processor, comprising logic circuitry and memory; a first communication interface; and a second server, the second server comprising: a second processor, comprising logic circuitry and memory; a second communication interface; and wherein the first processor, analyzes a plurality of observations of prior crops comprising dynamic attributes and a result attribute and derives a growth plan comprising at least one rule; wherein the second processor: receives a first signal from a plant monitoring component monitoring at least one dynamic attribute of a plant; accesses a growth plan associated with an objective and crop; determines the first signal indicates an out-of-tolerance state from the growth plan; selects a first control component configured to impact the at least one dynamic attribute monitored by the plant monitoring component; selects a first modification signal in accordance with the first rule; and signals the first control component with the first modification signal to cause the first control component, upon receiving the first modification signal, to alter operation in accordance with the first modification signal and to cause the dynamic attribute to be in compliance with the growth plan.

The phrases “at least one,” “one or more,” and “and/or” are open-ended expressions that are both conjunctive and disjunctive in operation. For example, each of the expressions “at least one of A, B, and C,” “at least one of A, B, or C,” “one or more of A, B, and C,” “one or more of A, B, or C,” and “A, B, and/or C” means A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B, and C together.

The term “a” or “an” entity refers to one or more of that entity. As such, the terms “a” (or “an”), “one or more,” and “at least one” can be used interchangeably herein. It is also to be noted that the terms “comprising,” “including,” and “having” can be used interchangeably.

The term “automatic” and variations thereof, as used herein, refers to any process or operation done without material human input when the process or operation is performed. However, a process or operation can be automatic, even though performance of the process or operation uses material or immaterial human input, if the input is received before performance of the process or operation. Human input is deemed to be material if such input influences how the process or operation will be performed. Human input that consents to the performance of the process or operation is not deemed to be “material.”

The term “computer-readable medium,” as used herein, refers to any tangible storage that participates in providing instructions to a processor for execution. Such a medium may take many forms, including, but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, NVRAM, or magnetic or optical disks. Volatile media includes dynamic memory, such as main memory. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, magneto-optical medium, a CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH-EPROM, a solid-state medium like a memory card, any other memory chip or cartridge, or any other medium from which a computer can read. When the computer-readable media is configured as a database, it is to be understood that the database may be any type of database, such as relational, hierarchical, object-oriented, and/or the like. Accordingly, the disclosure is considered to include a tangible storage medium and prior art-recognized equivalents and successor media, in which the software implementations of the present disclosure are stored.

While machine-executable instructions may be stored and executed locally to a particular machine (e.g., personal computer, mobile computing device, laptop, etc.), it should be appreciated that the storage of data and/or instructions and/or the execution of at least a portion of the instructions may be provided via connectivity to a remote data storage and/or processing device or collection of devices, commonly known as “the cloud,” but may include a public, private, dedicated, shared and/or other service bureau, computing service, and/or “server farm,” including but not limited to commercial cloud providers (e.g., Amazon Web Services).

The terms “determine,” “calculate,” and “compute,” and variations thereof, as used herein, are used interchangeably and include any type of methodology, process, mathematical operation, or technique.

The term “module,” as used herein, refers to any known or later-developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and software that is capable of performing the functionality associated with that element. Also, while the disclosure is described in terms of exemplary embodiments, it should be appreciated that other aspects of the disclosure can be separately claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure is described in conjunction with the appended figures:

FIG. 1 depicts a first system in accordance with embodiments of the present disclosure;

FIG. 2 depicts a first data flow in accordance with embodiments of the present disclosure;

FIG. 3 depicts a second data flow in accordance with embodiments of the present disclosure;

FIG. 4 depicts a growth plan development model in accordance with embodiments of the present disclosure;

FIGS. 5A-5C depict a system in accordance with embodiments of the present disclosure;

FIG. 6 depicts a system model in accordance with embodiments of the present disclosure;

FIG. 7 depicts a command model in accordance with embodiments of the present disclosure;

FIG. 8 depicts a first process in accordance with embodiments of the present disclosure;

FIG. 9 depicts a second process in accordance with embodiments of the present disclosure;

FIG. 10 depicts a rule structure in accordance with embodiments of the present disclosure;

FIG. 11 depicts a graphical representation of a data model in accordance with embodiments of the present disclosure; and

FIG. 12 depicts a third data flow in accordance with embodiments of the present disclosure.

DETAILED DESCRIPTION

The ensuing description provides embodiments only and is not intended to limit the scope, applicability, or configuration of the claims. Rather, the ensuing description will provide those skilled in the art with an enabling description for implementing the embodiments. It will be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the appended claims.

Any reference in the description comprising an element number, without a subelement identifier when a subelement identifier exists in the figures, when used in the plural, is intended to reference any two or more elements with a like element number. When such a reference is made in the singular form, it is intended to reference one of the elements with the like element number without limitation to a specific one of the elements. Any explicit usage herein to the contrary or providing further qualification or identification shall take precedence.

The exemplary systems and methods of this disclosure will also be described in relation to analysis software, modules, and associated analysis hardware. However, to avoid unnecessarily obscuring the present disclosure, the following description omits well-known structures, components, and devices that may be shown in block diagram form and are well known or are otherwise summarized.

For purposes of explanation, numerous details are set forth in order to provide a thorough understanding of the present disclosure. It should be appreciated, however, that the present disclosure may be practiced in a variety of ways beyond the specific details set forth herein.

This disclosure comprises of a multi-step process to produce and deliver a facility specific, crop-specific Grow Plan for indoor agriculture operations. This plan, which can be optimized to a specific objective function of maximum yield, maximum quality, minimum growth cycle duration, or a combination of those factors, can be locally monitored and managed at each facility.

FIG. 1 depicts first system 100 in accordance with embodiments of the present disclosure. In one embodiment, plant 102 is monitored by plant monitoring component 104. Plant 102 may be a single plant, plurality of plants, variety of plants, agricultural crop, or a plurality of agricultural crops. Plant monitoring component 104 comprises one or more devices and/or components each monitoring at least one dynamic attribute of plant 102. Dynamic attribute may be an attribute of the plant itself (e.g., size, water consumption, maturity, etc.). Dynamic attribute of plant 102 may comprise an environmental factor experienced by plant 102 is subject (e.g., temperature, CO2 level, lighting, humidity, insect population, etc.). In another embodiment, plant monitoring component 104 may monitor indirect and/or aggregate attributes of plant 102, including but not limited to electrical power consumption associated with control component 106 and/or other components. In yet another embodiment, plant monitoring component 104 may comprise an input from an automated and/or manual entry system (e.g., a computer terminal operable to receive plant height, weight, infestation, and/or other observations of plant 102). In another embodiment, a dynamic attribute of plant 102 may comprise a location, such as when a location is a proxy for an environmental state (e.g., plant 102 while in location A is subject to a particular temperature and/or other environmental conditions, plant 102 while in location B is subject to a different temperature and/or other environmental conditions, etc.). In addition to dynamic attributes, plant 102 may have one or more static attributes (e.g., date planted, type, identifier, etc.) and may remain fixed or, at least, changed infrequently. Static attribute may change (e.g., correct a data entry error, enter omitted information, record a rare event, etc.), but as they are generally changed with a directed action (e.g., destroy infested plants, harvest a crop, destructive analysis of a particular plant, etc.), monitoring is generally unwarranted and, instead, may be modified via data entry to plant monitoring component 104.

In another embodiment, control component 106 comprises one or more devices operable to affect at least one dynamic attribute of plant 102. Control component 106 may comprise, but is not limited to, water pump/valve, heat/cooling unit control, humidity control, CO2 control, air circulation, etc. Additionally, control component 106 may comprise an on-site alarm, such as to alert personnel and/or other systems of current dynamic attribute requiring intervention. For example, a soil moisture meter may indicate a dynamic attribute that, unless remedied promptly, may be damaging or fatal to plant 102. An alarm may identify the issue, such as to cause a human to replace the soil moisture meter if faulty, tend to a plugged irrigation component, etc.

In another embodiment, hub 108 is located on-site, such as to be, co-located with plant 102, connected to plant monitoring component 104 with an on-site network, and/or connected to control component 106 within an on-site network. In one embodiment, hub 108 executes instructions to process signals from plant monitoring component 104 and provide modification signals to control component 106. For example, if plant monitoring component 104 comprises a thermometer and a temperature is out of tolerance, hub 108 may execute instructions that cause control component 106, comprising a heating/cooling component, to execute an operation to cause the temperature to remediate the out-of-tolerance temperature. As a benefit of hub 108 being co-located with one or both of plant monitoring component 104 and control component 106, connectivity via external network 110 need not be continually maintained in order to maintain the dynamic attributes of plant 102.

In another embodiment, hub 108 executes instructions to access, via network 110, server 112. Server 112 may be a dedicated and/or shared server, such as a distributed computing platform (“cloud”). In one embodiment, server 112 gathers data from a plurality of hubs, of which hub 108 may comprise one of the plurality of hubs, which may comprise respective plant monitoring components and/or control components associated with other farms and/or prior growing cycles. Server 112 may then analyze the data from the plurality of hubs to determine a best practice for growing plant 102. In a further embodiment, the best practice for growing plant 102 may be selected, in part, in accordance with an objective. For example, one farmer operating a particular farm may be subject to a water shortage. Accordingly, the objective may be to get plant 102 to maturity with as little water as possible even at the expense of additional electricity. Another objective may be to reduce cycle time, to that plant 102 can go from seed (or other origin, such as a cutting, graft, etc.) to maturity whereby plant 102 may be harvested and the process may be repeated and thereby maximize the number and/or quality of harvests within a given timeframe. Another farmer operating another farm may be contractually obligated to harvest plant 102 at a particular date and, accordingly, willing to use more water and/or other resources to satisfy the obligation. Objectives may be constant and remain unchanged, at least through a growing cycle, or change, such as to mitigate an outbreak of insects or mold midway through a growing cycle. Server 112 may leverage a larger data set, from multiple hubs and/or growing cycles, to determine a particular rule or set of rules to control component 106 and the dynamic attributes of plant 102 and to comply, or at least better comply, with provided objective. As a result, trial-and-error modifications to the dynamic attribute of plant 102 may be reduced or eliminated in favor of modifications based on a determined cause and effect for a particular crop (e.g., type/species of plant 102) and objective.

Hub 108 may comprise at least one microprocessor (“processor”), memory, bus, and optionally storage media or other hardware. Hub 108 further comprises a network interface hardware and instructions to be executed by the processor, such as to enable connectivity to server 112 via network 110, plant monitoring component 104, and control component 106 and to execute instructions based upon inputs from plant monitoring component 104 and providing control signals to control component 106.

It should be appreciated that the monitoring-controlling feedback loop monitored and controlled by hub 108 receiving dynamic attributes from plant monitoring component 104 and issuing signals to control operations of control component 106 may comprise a plurality of homogeneous signals (e.g., increment water pump 1 output) or a plurality of heterogeneous signals (e.g., increment water pump 1 output, start water pump 2, increment water pump 2 output, etc.). The signal, which may be determined in accordance with the capabilities of a particular control component 106, may be uniform for any out-of-tolerance state. For example, a low-temperature state indicated by plant monitoring component 104 may cause hub 108 to issue a signal (e.g., “ON”) to a heater embodiment of control component 106. The degree to which the temperature is out-of-tolerance may have no impact on the content or target of the signal. In another embodiment, the degree to which the attribute is out-of-tolerance may vary the content and/or target of the signal. For example, a small heater may be signaled to increment output, when the deviation is small and another heater may be activated when the deviation is larger. Therefore, and in one embodiment, hub 108 generates a signal to control component 106 to cause an out-of-tolerance state to be remedied within a previously determined timeframe, which may be selected in accordance with the performance of control component 106 and/or sensitivity or delay of plant monitoring component 104 to avoid overshooting the correction. For example, increasing water controlled by a pump or valve may not be detectable by a soil moisture meter for thirty minutes. Accordingly, hub 108 may signal control component 106 (e.g., pump or valve) to apply additional water for one minute and, even though plant monitoring component 104 (e.g., soil moisture monitor) may still indicate dry soil, take no action unless dry soil is still indicated at some point after the thirty minutes.

FIG. 2 depicts data flow 200 in accordance with embodiments of the present disclosure. In one embodiment hub 108 may provide primary data collection from a variety of data sources (e.g., one or more of plant monitoring component 104), which may include, but are not limited to, temperature, humidity, lighting, water, CO2 levels, imaging, etc. In another embodiment, hub 108, may comprise a device-flexible hub, and further comprise an input-output device with sufficient data storage, provided by the memory and/or storage media, and processing capabilities, provided by the processor, for managing the input (e.g., signals from plant monitoring component 104) and business rules (e.g., accessed from server 112) and the issuance of control signals out to intelligent relays to exercise control of control component 106.

In another embodiment, hub 108 receives data from environmental sensor 202, energy sensor 208, facility 214, crop 204, control 216, optical 206, and human-machine interface (HMI 212). Crop 204 may be a data source, such as a record providing identification of a particular plant species or variety comprising a crop. Facility 214 may be a data source, such as record or component providing facility information (e.g., equipment, operational limitations, etc.)

FIG. 3 depicts data flow 300 in accordance with embodiments of the present disclosure. In one embodiment, data collected at the facility, such as by hub 108 at each of a plurality of sites may store data on-site at the facility (e.g., memory and/or storage device of hub 108 and/or a storage device accessible to hub 108, etc.). In another embodiment, data may be ported to the analytics cloud, such as comprising server 112. Porting may occur periodically or in response to an event, such as the state of plant monitoring component 104 or an ad hoc request. Server 112 may then process and store the data in database 312 gathered from a plurality of facility interfaces 302. Data scrubbing 308 may categorize or otherwise annotate the data to populate records stored in data warehouse 310, such as comprising database 312. For example, a record of a particular plant monitoring component 104 may provide a light level value to a record and the record annotated from a static value, such as the plant variety.

In one embodiment, data warehouse 310 is a dynamic data store and may further incorporate feedback loop data inputs. The primary inputs are environmental variables and data collected from plant monitoring component 104, such as optical sensors that monitor crop growth patterns. More static data, such as facility attributes, crop attributes, hardware attributes are may also be inputs. Finally, feedback on crop quality, a more qualitative assessment is provided, such as at harvest; specifically, quality variables will be input to the cloud environment at time of harvest.

Server 112 may execute analytics engine 314 to process the data stored in data warehouse 310, such as to identify correlations between the productivity of the crop, the quality of the crop, the environmental, facility, hardware, and crop attributes. For example, server 112 may execute a multi-dimensional correlation assessment. A multiple dimension correlation assessment can be a processor-intensive task, a preliminary assessment of the initial data sets may be provided to identify the key variables that are subject to further analysis in order to derive correlations. Once the smaller population of deterministic variables have been identified, algorithms for deriving correlations may be employed on the data sets in order to derive useful and meaningful relationships. The effectiveness of the correlation may be determined by applying primary filters to the full set of variables to isolate correlation inspection to reduce processing requirements and complex n-dimension analysis. Correlations will continue to emerge as the data sets become more expansive, both in terms of the number of farming facilities and the diversity of crops, farming objective, and the particular dynamic attributes of a crop.

FIG. 4 depicts growth plan development model 400 in accordance with embodiments of the present disclosure. In one embodiment, development model 400 depicts the creation of individual facility optimized grow plan 404 to be ported to hub 108 that resides at the subject facility. Facility data interface 302, such as providing data gathered from hub 108 and/or other site-specific data, is collected at data warehouse 310 comprising database 312. A processor, such as from server 112, then creates an optimization scheme 402 from the data within data warehouse 310 (e.g., dynamic and static attributes of plurality of other plants, optimization strategies, etc.). Optimization scheme engine 402, which may derive insights from the correlations previously or concurrently identified, develops an optimal grow plan, per the desired objective function, and passes the grow plan down to hub 108. This grow plan is used by the hub to establish the environmental parameters within which the grow environment must be operated throughout the grow cycle.

Table 1 provides examples of functions, which may comprise at least a portion of growth plan 404; descriptions, input data provided by plant monitoring equipment and/or other components; and outputs provided by control component 106 and/or other components.

TABLE 1 Function Description Input Data Output Alerting Peak Demand Alerts the growers via The grower should be Alert. Yellow alert when electricity able to define the when approaching consumption is within a parameters - in terms of target, red when at certain percentage of a the percentage within or behind target peak demand mark target to drive an alert and/or the peak demand target. The peak demand target can either be derived from previously monitored data or from peak demand as noted on electricity bill, if applicable, can be pulled from electronic bill, but manual is fine for starters. Current building monitoring will inform the business rule with current demand value on 5-minute intervals. Could trigger one-minute intervals after yellow alert is triggered, Low Voltage Monitor and alert grower Voltage parameters can Alerts as above; when voltage levels are be configured, with yellow when out of acceptable bounds industry standard range approaching limit, as default. Building red when at or monitoring derives beyond limit. voltage values at breaker and informs business rule analyzer. Constraints should be put on range a user can define. Equipment Alert on anomalous Options include: 1. Alert indicating Performance performance of HVAC Publicly-available that the equipment or Dehumidifier Unit. baseline information for in question is devices; 2) Monitored operating in a way the devices for several that is outside of months, normalized for expected weather, to determine conditions, This standard operating load may trigger a call shape for device. Then to a service an analysis would need professional to to be applied against that check out unit. “normalized” load shape to flag deviations Weather may be at least one factor. Economics Running Offers growers run time 15-minute interval On-demand Electricity Costs electricity bill economic starting at the beginning feature to allow adhoc estimates based on of the billing period calculations to consumption dating back should be passed into a be presented. The to beginning of new bill rate calculator (can calculation result period license or develop). That should have calculator will then date/time stamp assess the usage relative below to indicate to the rules of the when the calc. customer tariff in order was last run to determine their running totals for that bill period. The user record must include their current electricity rate in order for our back end to know which rate within the rate engine is proper running electricity bill estimator based on fixed charges and bill-period-start-to- current hour calculation. Forecasting Next Day Predict the following Data inputs include: Load shape for Consumption day, week electricity Historical demand data facility, and by consumption and costs by whole building and device, for the device, weather data, next 24-hour consumption normalized period. t weather data, future Additionally, the weather forecasts (may user will be come from a weather presented with the service in the form of anticipated predicted or historical economics. data); finally, anticipated production and operational schedules are needed to inform this forecast. These inputs then applied to the rate calculator for the economic calculation. Next Month Determine the next Data inputs include: Growers will be Energy Cost month electricity costs Historical demand data presented with Projection based on weather by whole building and projected hourly, forecasts and planned device, weather data, daily load shapes production schedule consumption normalized and monthly t weather data, future projected kW and weather forecasts or kWh bar charts historical weather data with the (from a weather service associated cost in the form of predicted implications based or historical data); on current rate finally, anticipated schedule production and operational schedules are needed to inform this forecast. These inputs are then applied to the rate calculator for the economic calculation. Annual Energy Determine the next 12- Same as above Growers will be Cost Projection months of electricity presented with costs based on weather projected hourly, forecasts and planned daily load shapes production schedule and monthly projected kW and kWh bar charts with the associated cost implications based on current rate schedule. Further, they will be presented with an annualized roll-up of the costs and consumption. This can be presented as a comparison with previous years as available. Analytics & Optimization Yield Max Determine the Monitored data for all Grower will be Assessment relationships/correlations end sues and input data presented with the between environmental on yield (per crop) with discrete impacts parameters and yield on correlations explicitly on yield for each a per strain basis drawn between the of the primary monitored data and the environmental yield. Further, data on parameters the strain, and equipment attributes for each crop will be needed to be input to identify additional potential correlations. Quality Max Determine the Monitored data for all Grower will be Assessment relationships/correlations end sues and input data presented with the between environmental on quality (per crop) discrete impacts parameters and quality with correlations on quality for each on a per strain basis explicitly drawn of the primary between the monitored environmental data and the quality. parameters Quality may be assessed through optical sensors capable of tracking color, size and other quality attributes as defined by the grower. Further, data on the strain, and equipment attributes for each crop will be needed to be input to identify additional potential correlations. Yield/Quality/Cost Allow for adjustments to Outputs from Grower - and Optimization an objective function to correlations above, in more specifically allow growers to addition to desired strain the growers optimize to any of three will be required to set equipment and features: cost, yield and the function. interface - will be quality Furthermore, the grower presented with an will need to define the actionable grow relative weight of each plan - or optimization attribute., operating meaning determining the parameters - for weight of cost vs. yield all end uses vs. quality. relative to a desired strain and optimizing function

FIGS. 5A-5C depict system 500 in accordance with embodiments of the present disclosure. In one embodiment, system 500 depicts the dynamic attributes of plant 102 that may be continuously or periodically monitored throughout the grow cycle and the business rules maintained by hub 108 to assess the dynamic attributes and their compliance, or deviation, from expected attribute values of a grow plan, such as grow plan 404. Signals are provided to control component 106 to maintain environmental variables within desired parameters. Should a state exist whereby parameters are outside of a provided window, hub 108 issues alerts to facility operators to indicate deviations from optimal parameters, such as an alarm feature of control component 106 to solicit intervention by human operators and/or other systems. For example, should plant monitoring component 104 detect a temperature state that varies by one degree, as determined by hub 108 and grow plan 404, no action may be triggered. If plant monitoring component 104 detect a temperature state that varies by five degrees, as determined by hub 108 and grow plan 404, control component 106 may be provided with a signal such as to discontinue heat, initiate cooling, etc. If plant monitoring component 104 detect a temperature state that varies by ten degrees, as determined by hub 108 and grow plan 404, an alert may be provided to human operators (e.g., text message, email, audible alarm, visual alarm, etc.) and/or automated system (e.g., signal actuated windows to open, discontinue lighting and/or other heat-generating components, etc.).

In one embodiment, computer 502, such as laptop 502A, smart phone 502B, and/or other computing device configured to access network 504 and devices attached thereto, is utilized to access services provided by networked components, such as server 112—which, as described above, may be a single processor, single server, plurality of processors, plurality of servers, and/or a static or dynamic set of processors and/or servers. In one embodiment, server 112 comprises a plurality of servers commonly referred to as a “cloud.” Access to the cloud, may comprise first accessing elastic load balancer 506 gating access to public subnet 508 whereby an elastic IP 510 is assigned and perimeter security 512 gates access to authorized IP addresses to private subnet 514.

Private subnet 514 may comprise, front end 516 providing web services and API 518 provides middleware. Middleware/API services may be provided by Sailes.js, Swagger, waterline, Blueprint IP and comprise an API gateway. API 518 accesses ETL 524 customer database 526, data analytics 528. Data pipeline 520 may comprise batch-processing 522 of embedded template library (ETL) 524. API 518 and/or customer database 526 may then access data analytics 528 (e.g., Amazon EMR Kenisis, etc.).

Batch processing 522 may receive data from third-party API 530, which may include but is not limited to, Curb 532, GoElectric 534, Encycle 536, Stem 538, etc. Additionally, on-demand services 540 may comprise Genebility 542, Curb 544 and receive data from API 518 and be accessed by computer 502A.

FIG. 6 depicts system model 600 in accordance with embodiments of the present disclosure. In one embodiment, system model 600 provides an alternative view illustrated by system model 500. Front-end 516 provides web server services, such as by Vue.js, Axios, Highcharts, D3, Vuecharts, Quasar, VueRouter, Vuex, etc. API 518 may provide middleware services (e.g., Sails.js, Swagger, Waterline, Blueprint API, etc.) and comprise API gateway 604 to provide services (e.g., login, client lookup, kilowatt lookup, circuit lookup, third-party authorization, etc.). Batch processing 522 calls ETL 524. Customer database 526 may comprise storage database 606 accessed by a mogodb interface and access data analytics 528.

FIG. 7 depicts command model 700 in accordance with embodiments of the present disclosure. Command model 700 illustrates data structures and primary keys (“PK”) and foreign keys (“FK”) and their relationship, illustrated using a crow's-foot notation. In one embodiment, customer login 702 comprises data elements utilized by a customer, modeled by customer 704. Customer 704 may have one or more circuits 708 for a particular control component 106 or plant monitoring component 104. Power usage is modelled by circuit usage 706 and located physically and/or logically by circuit location 710. A provider of a circuit is modeled by vendor 712 which may have vendor login 714.

FIG. 8 depicts process 800 in accordance with embodiments of the present disclosure. In one embodiment, step 802 receives site data (e.g., circuit information, equipment, operational parameters of equipment, access protocols, etc.). Step 804 receives crop data (e.g., cultivar, genus, species, etc.). Step 806 receives one or more objectives (e.g., conservation of water, shortest time to maturity, etc.). Objectives may be prioritized or aggregated, such as to balance two priorities (e.g., reduce electricity usage and shorten time to maturity, etc.).

Step 808 then generates growth plan 808, such as by server 112 producing grow plan 404. Which then may be presented in a human-readable report and/or stored in storage 812, such as a memory and/or media accessible by hub 108. Hub 108 may then be configured to operate, and therefore operate control component 106, according to the growth plan 808.

Step 808 may receive crop identifiers received in step 804. Step 808 may access records (not show) associated with attributes of the crop (e.g., plant A requires light level B, plant C requires light level D, etc.). Additionally or alternatively, step 804 may receive attributes of crop data (e.g., water requirements, light requirements, temperature requirements, etc.). As a benefit, a new plant 102 may be similar to another plan whereby the step 808 may generate the growth plan based on the similarities and differences from a growth plan associated with the other plant. As a benefit of process 800, hub 108 may be provided with instructions to gather data, from plant monitoring component 104, process the data with respect to grow plan 404, and provide signals to control component 106 to operate a facility and subject plant 102 to dynamic attributes associated with the objective.

FIG. 9 depicts process 900 in accordance with embodiments of the present disclosure. In one embodiment, process 900 acquires sensor data 902, such as from plant monitoring component 104, at a subject facility. Step 904 stores the sensor data for analysis at step 906, such as by hub 108. Alternatively, analysis 906 may comprise additional sensor data 914 from one or more additional facilities and their respective hub 108. Additional and/or alternative data sources 912 may be accessed, such as to provide historic and/or alternative sources of sensor data and/or other data. Alternative data sources 912 may further comprise known results (e.g., data collected at harvest) from a particular dynamic attribute of a particular plant. In another embodiment, step 904 may comprise facility and/or plan information, such as the particular plant 102, attributes of plant 102, or equipment, parameters, use, or other attribute of plant monitoring component 104 and/or control component 106.

Analysis step 906 may access objective 812 and/or rules associated with one or more dynamic variables measured by plant monitoring component 104 and/or controlled by control component 106. Step 908 may generate a report, such as to notify an on-site operator or other personnel or system of the current state of a facility, crop, or plant 102. Step 908 may be generated periodically, in response to an event (e.g., out-of-tolerance state, daily, etc.), or on demand. As a further option, step 908 may be omitted, such as when no action or out-of-tolerance sate exists. If needed, step 910 generates control signals, such as to cause control component 106 to alter an operational parameter to cause plant 102 to be subject to a dynamic attribute, as measured by plant monitoring component 104, associated with grow plan 404. Process 900 may loop back to step 902 to continually monitor and, when necessary, adjust the dynamic attributes of plant 102.

In another embodiment, analysis step 906 may determine the correlation between at least one dynamic attribute and at least one result attribute. A result attribute is determined by harvesting the crop or, in the case of perennial crops, fruit is picked or otherwise harvested. For example, plant 102 of a prior crop may have produced a particular yield at the conclusion of the growth cycle and, was subject to a particular growth plan 404 or dynamic attribute (e.g., moisture, lighting, temperature, etc.). With sufficient data, such as from alternative data sources 912, a determination within an acceptable confidence may be made that associates a particular result attribute(s) as being caused by a particular dynamic attribute(s). For example, a particular lighting and watering dynamic attribute produced a mature plant that was harvestable fifteen days sooner than a different lighting and watering dynamic attribute. Such a result may then be associated with a particular objective, such as when shorted time to maturity is desired, then the particular lighting and watering dynamic attributes should be utilized. Conversely, if another objective is desired, then the particular lighting and watering dynamic attribute may be omitted or de-emphasized in favor of dynamic attributes correlated with the other objective.

FIG. 10 depicts rule structure 1000 in accordance with embodiments of the present disclosure. In one embodiment, one or more rules 1002 are associated with grow plan 404. Rules 1002 may execute specific instructions necessary for a particular plant 102 to be subject to a dynamic attribute associated with the growth plan. For example, an objective such as “conserve water” may mean one level of water for one type of plant 102 and a different level of water for a different plant 102 and, in order to provide/restrict water, a signal must be formulated and provided to a particular control component 106 (e.g., turn off a pump, open a valve, etc.). Accordingly, rules 1002 may access attributes of control component 106 via site records 1004, crop data 1006 identifies attributes, acceptable ranges of attributes, and/or effects of dynamic attributes on a particular crop. Objective 1008 provides rules to comply, within the acceptable limits of a particular crop, and may be implemented by the available equipment.

FIG. 11 depicts graphic 1100 providing a graphical representation of a data model, such as at least a portion of one grow plan 404, in accordance with embodiments of the present disclosure. In one embodiment, graphic 1100 provides window 1102 of operational parameters bounded by selected limits of a particular growth plan 404. For example, high and low limits on temperature axis 1106, electricity usage access 1108, and water usage 1104 provide limits to window 1102. While one three axes are illustrated in graphic 1100 to avoid unnecessarily complicating the figure, other numbers of axes may be utilized. In one embodiment, a single axis is provided, such as temperature whereby all other variables are either fixed or outside the influence of control component 106. In other embodiments, three or more axes are utilized, such as when control component 106 is able to influence additional operational parameters.

Growth plan 404 captures an objective of a farming operation for a particular facility and for a particular plan 102. Plant monitoring equipment 104 monitors plant 102 and, if an attribute is outside of window 1102, control component 106 operates to return the attribute to be within window 1102. If control component 106 fails to return the attribute to be within window 1102, control component 1102 may trigger an alarm or take other action to indicate that a correction, beyond the ability of control component 106, is required. As a benefit of growth plan 404, trade-offs may be made, but kept within window 1102. For example, a particular facility may be able to purchase electricity at lower rates, such as during the night. Growth plan 404 may execute control component 106 in a manner that utilizes more electricity during such hours, and less electricity during peak-rate hours. For example, pumps may operate, more lights utilized, or more intense lighting utilized during times of discounted electric rates. Accordingly, the current state of a facility, and attribute of plant 102, may be fluid within window 1102 without deviating from a particular growth plan 404.

FIG. 12 depicts data flow 1200 in accordance with embodiments of the present disclosure. Data flow 1200 utilizes a dumb hub 1202 to enable data connectivity, via network 110, to server 112. Dumb hub 1202 may provide limited or omitted processing functionality beyond enabling connectivity between server 112 and one or more of environmental sensor 202, energy sensor 208, facility 214, crop 204, control 216, optical 206, and HMI 212. Dumb hub 1202 may optionally provide at least some network security (e.g., firewall). In embodiments where dumb hub 1202 is limited to facilitating connectivity and omits other processing features, dumb hub 1202 may be embodied as a USB hub, switch, router, wireless repeater, or the like. Dumb hub 1202 may also facilitate communications between two or more of environmental sensor 202, energy sensor 208, facility 214, crop 204, control 216, optical 206, and HMI 212.

In another embodiment, each of environmental sensor 202, energy sensor 208, facility 214, crop 204, control 216, optical 206, and HMI 212 communicates directly with server 112 via 110 and optionally with other components. In such an embodiment, hub 108 and dumb hub 1202 may be entirely omitted from data flow 1200.

In the foregoing description, for the purposes of illustration, methods were described in a particular order. It should be appreciated that in alternate embodiments, the methods may be performed in a different order than that described. It should also be appreciated that the methods described above may be performed by hardware components or may be embodied in sequences of machine-executable instructions, which may be used to cause a machine, such as a general-purpose or special-purpose processor (GPU or CPU), or logic circuits programmed with the instructions to perform the methods (FPGA). These machine-executable instructions may be stored on one or more machine-readable mediums, such as CD-ROMs or other type of optical disks, floppy diskettes, ROMs, RAMs, EPROMs, EEPROMs, magnetic or optical cards, flash memory, or other types of machine-readable mediums suitable for storing electronic instructions. Alternatively, the methods may be performed by a combination of hardware and software.

Specific details were given in the description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits may be shown in block diagrams in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.

Also, it is noted that the embodiments were described as a process, which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed, but could have additional steps not included in the figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination corresponds to a return of the function to the calling function or the main function.

Furthermore, embodiments may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine-readable medium, such as a storage medium. A processor(s) may perform the necessary tasks. A code segment may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc.

While illustrative embodiments of the disclosure have been described in detail herein, it is to be understood that the inventive concepts may be otherwise variously embodied and employed, and that the appended claims are intended to be construed to include such variations, except as limited by the prior art. 

What is claimed is:
 1. A server, comprising: a processor, comprising logic circuitry and a memory; a communication interface; and wherein the processor: receives a first signal from a plant monitoring component monitoring at least one dynamic attribute of a plant; accesses a growth plan associated with an objective and crop; determines the first signal indicates an out-of-tolerance state from the growth plan; selects a first control component configured to impact the at least one dynamic attribute monitored by the plant monitoring component; selects a first modification signal in accordance with a first rule, wherein the first rule is selected in accordance with the objective and crop; and signals the first control component with the first modification signal to cause the first control component, upon receiving the first modification signal, to alter operation in accordance with the first modification signal and to cause the dynamic attribute to be in compliance with the growth plan.
 2. The server of claim 1, wherein the processor, upon signaling the first control component, receives a second signal from the plant monitoring component.
 3. The server of claim 2, wherein the processor, upon receiving the second signal, determines whether the second modification signal at least reduced the out-of-tolerance state.
 4. The server of claim 3, wherein the processor, upon receiving the second signal and determining the second modification signal did not reduce the out-of-tolerance state: selects a second modification signal in accordance with a second rule, wherein the second rule is selected in accordance with the objective and crop; and signals the control component with the second modification signal to cause the control component, upon receiving the second modification signal, to alter operation in accordance with the second modification signal.
 5. The server of claim 3, wherein the processor, upon receiving the second signal determining the modification signal did not reduce the out-of-tolerance state: selects a second modification signal in accordance with a second rule, wherein the second rule is selected in accordance with the objective and crop; and signals a second control component comprising the second modification signal to cause the second control component, upon receiving the second modification signal, to alter operation in accordance with the second modification signal.
 6. The server of claim 1, wherein the first rule is derived from an analysis of a plurality of observations of prior crops comprising dynamic attributes and a result attribute.
 7. The server of claim 6, wherein the analysis comprises a multi-dimensional correlation whereby at least one result attribute is determined to be impacted by at least one dynamic attribute.
 8. The server of claim 1, wherein the dynamic attribute is determined in accordance with the objective.
 9. The server of claim 1, wherein the operational parameter further selected in accordance with an operational parameter of at least one control component affecting the crop time to maturity.
 10. The server of claim 1, wherein the growth plan comprises at least one rule comprising a value of the dynamic attribute to be in compliance with the growth plan.
 11. A method comprising: receiving a first signal from a plant monitoring component monitoring at least one dynamic attribute of a plant; accessing a growth plan associated with an objective and crop; determining the first signal indicates an out-of-tolerance state from the growth plan; selecting a first control component configured to impact the at least one dynamic attribute monitored by the plant monitoring component; selecting a first modification signal in accordance with a first rule, wherein the first rule is selected in accordance with the objective and crop; and signaling the first control component with the first modification signal to cause the first control component, upon receiving the first modification signal, to alter operation in accordance with the first modification signal and to cause the dynamic attribute to be in compliance with the growth plan.
 12. The method of claim 11, wherein the first rule is derived from an analysis of a plurality of observations of prior crops comprising dynamic attributes and a result attribute.
 13. The method of claim 12, wherein the analysis comprises a multi-dimensional correlation whereby at least one result attribute is determined to be impacted by at least one dynamic attribute.
 14. The method of claim 11, further comprising, upon signaling the first control component, receiving a second signal from the plant monitoring component.
 15. The method of claim 14, further comprising, upon receiving the second signal, determining whether the second modification signal at least reduced the out-of-tolerance state.
 16. A system comprising: a first server; the first server comprising: a first processor, comprising logic circuitry and memory; a first communication interface; and a second server, the second server comprising: a second processor, comprising logic circuitry and memory; a second communication interface; and wherein the first processor, analyzes a plurality of observations of prior crops comprising dynamic attributes and a result attribute and derives a growth plan comprising at least one rule; wherein the second processor: receives a first signal from a plant monitoring component monitoring at least one dynamic attribute of a plant; accesses a growth plan associated with an objective and crop; determines the first signal indicates an out-of-tolerance state from the growth plan; selects a first control component configured to impact the at least one dynamic attribute monitored by the plant monitoring component; selects a first modification signal in accordance with the first rule; and signals the first control component with the first modification signal to cause the first control component, upon receiving the first modification signal, to alter operation in accordance with the first modification signal and to cause the dynamic attribute to be in compliance with the growth plan.
 17. The system of claim 16, wherein the analysis comprises a multi-dimensional correlation whereby at least one result attribute is determined to be impacted by at least one dynamic attribute.
 18. The system of claim 16, wherein the first server, via the first communication interface, communicates with the second server, via the second communication interface.
 19. The system of claim 16, wherein the second processor, upon signaling the first control component, receives a second signal from the plant monitoring component.
 20. The system of claim 19, wherein the second processor, upon receiving the second signal, determines whether the second modification signal at least reduced the out-of-tolerance state. 